Congestion in computer networks is becoming an important issue due to the increased mismatch in links speeds caused by intermixing of old and new technology. Recent technological advances have resulted in a significant increase in the bandwidth of computer network links. However, these new technologies must coexist with the old low bandwidth media. This heterogeneity has resulted in a mismatch of arrival and service rates in the intermediate nodes in the network causing increased queuing and congestion. If the load is small, throughput generally keeps up with the load. As the load increases, throughput increases. After the load reaches the network capacity, the throughput stops increasing. If the load is increased any further, queues start building, potentially resulting in packets being dropped. Throughput may suddenly drop when the load increases beyond this point and the network is said to be congested.
In the following, congestion handling methods are methods that aim at reducing or avoiding network congestion as well as methods optimizing network performance at the time of congestion. Thus, these methods cover, for example, a scheme which allows the network to operate at the point after which the increase in the throughput is small but results in a significant increase in the response time results. Another example is a scheme which tries to keep operating a network in the zone before packets start getting lost
Modern packet data networks handle network congestion in a relatively simple-minded fashion. Typically, congestion is dealt with some packet discarding algorithm whose basic objective typically is to satisfy the quality requirements of applications. As to the packet discarding, this can be interpreted in a way that in the optimal case the packet loss ratio of each individual flow is at most the packet loss parameter defined by the characteristics of the application. From this viewpoint, it is usually assumed that during a congestion situation, the network nodes shall first discard packets with the loosest or lowest packet loss requirement. However, if this principle is used extensively, network resources are reserved or given primarily for flows and applications with the most stringent quality requirements. From the network and service provider viewpoint, this result may be totally unacceptable. For example, a video stream with high quality of service (QoS) requirements may take the place of ten voice streams with lower QoS requirements, whereas the revenue obtained from the single video stream is typically much lower than the revenue obtained from ten voice calls. Actually, what the service provider usually wants is either to divide the capacity evenly among the customers, or proportional to the fee paid by each customer. These two targets, to serve applications quality requirements, i.e. individual benefit, and to meet the service provider's business goals, i.e. global benefit, are difficult to reach at the same time.